perm filename MILAN.SPE[E86,JMC]2 blob sn#823721 filedate 1986-08-26 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	\input zmmacr.tex[1,ra]
C00011 ENDMK
CāŠ—;
\input zmmacr.tex[1,ra]
SEMINARIO DI JOHN MCCARTHY

DIPARTIMENTO DI SCIENZE DELL'INFORMAZIONE

18 April 1986

A good part of my talk will be following the paper ``Application of Circumscription
to Formalizing Common Sense Knowledge'', which is the most recent issue on 
Artificial Intelligence, but I will also mention some new ideas that are
more update.

First of all I want to set some background by making some remarks based
on my 1958 paper called ``Programs with Common Sense'' because it is an
approach that can still be followed although it would certainly now 
require many modifications.

Neurophisiological Approach

(which is to understand the structure of the human brain sufficiently to 
be able to make a machine or coputer programs that imitate it)

Psychological Approach

(which is to investigate the psychology of the humans directly by experiments 
with people)

Evolutionary Approach

(which is to make systems that are capable of self-improvement, to understand
a selection in an environment and to make a structure that could rapidly
involve intelligence).

At the end I will come to the approach that I am actually following which
is: to try to understand the common sense world and the problems that it
presents, to formalize this understanding, to try to understand the
reasoning methods that are effective in solving problems in the common sense
world and to make computer programs that embody this reasoning process.

The sucess of AI has been large since 1950 and in it, the logical approach
has had, on the whole, the largest amount of sucess.  This approach has a pure 
form and various impure forms. The pure form was essentially described in the `58 
paper and has the following ideas:

Express general facts especially effects of actions in some mathematical-logical
language

Express facts of particular situations

Express goals

Express principals: ``Should do what achieves goals''

Program tries to infer that a certain action (or strategy should be done
(and then it does the action)

The notion of ``infer'' was taken in that `58 paper to be ``deduction'' in the
logical system.  Now it turns out that one needs some more general notion 
of inference than logical deduction.  Particularly, one needs some forms
of non-monotonic reasoning, but I will come to this point.

This approach has not been easy to carry on for various reasons.  The first
reason that was discovered was ``combinatorial explosion'': namely, you
take the premises of a particular situation (including the facts of general
common sense knowledge) and you draw conclusions.  Unless your program is 
very smart then it would draw a very large number of conclusions before it 
reaches the conclusion that any particular action should be performed.
The second reason was that it is very difficult to write down what are the
consequences of actions in the common sense world in a logical formalism.
Many problems arise at this point: for example, if you want to deduce the 
effects of an action fully then you have to be able to infer that certain
aspects of the world will not change as well as to infer about 
what changes will occcur.

There is what can be called the ``qualification problem'', where you are
interested in the conditions for performing an action (for example
rowing a boat across the river, the conditions will be: the boat
has oars, it does not have a leak, the river be deep enough and so on ...).  If you
actually take seriously the idea of writing down all the qualifications, then
you will discover that it is difficult even writing down the
qualifications for a single action.

People have done things with this approach even if it can`t be solved in general.
What has been done can be described under one heading which is ``specializing''.

You can say: `Well, maybe I can't write down the common sense facts in complte
generality, but I can write them down as they apply to some
specific domain, under specific conditins!'. And that has been done.
The other thing that you can do to avoid the combinatorial explosion is
again specializing.  Namely, instead of using a general reasoning mechanism, we 
put into the reasoning mechanism some features which are related to the
particular class of problems that we want the computer program to solve.
Specifically, we take information that could be expressed as facts and
expressed as a specialized program.  The various systems differ in how much
they put into the program and how much they try to leave as facts.
What typically happens is that if you make a system for some purpose and
put a lot of the information into the program and only a little bit in the
form of the facts, then you will discover that, when you want to improve the 
program (that is to make it act in a more general domain), this is difficult.  
In fact, a way of improing systems is to put more into the
facts and less into the program and to move in the direction of using
general purpose reasoning methods.

That's the way things have gone.  Now, I would like to get into some
details.  Specifically, I would like to mention a formalism that was introduced
in a paper in 1964 and in a paper that I did with P. Hayes in 1969 called:
``Some Philosophical Problems from the Standpoint of AI.'':
the Situation Claculus.

The idea of situation claculus is that we use a variable s (= situation)
which can be regarded as the state of the world or, at least, the state of
all the relevant informatiion of the action that we are performing. 
We don`t try to describe the situation fully (we cannot do that) but we
describe things about the situation.